public class string{
    void print(){
		String str1=new String("abd");
		String str2=new String("abd");
		System.out.println(str1==str2);//false
		System.out.println(str1==str2.intern());//false
		System.out.println("abc"==str2.intern());//true
	}//当两个 String 对象拥有相同的值时，它们只引用常量池中的同一个拷贝。
	//String.intern()始终和常量字符串相等
	//str1.str2实例引用自常量池abc
	//String.substring()的内存泄漏 程序未能释放已经不再使用的内存的情况 可用内存不断减少直至溢出
	//String对象=value char数组 99+offset+count长度 1
	public String substring(int beginIndex,int endIndex){
		if(beginIndex<0) throw new StringIndexOutOfBoundsException(beginIndex);
		if(endIndex>count) throw new StringIndexOutOfBoundsException(endIndex);
		if(beginIndex>endIndex) throw new StringIndexOutOfBoundsException(endIndex-beginIndex);
		return ((beginIndex==0)&&(endIndex==count))?this:
		new String(beginIndex+offset,endIndex-beginIndex,value);
	}
	public String(int offset,int count,char value[]){
		this.value=value;
		this.count=count;
		this.offset=offset;
	}
	public int length(){
		return value.length;//return count;
	}
}